package com.tedu.api.thread;

/**
 * Thread类    线程同步
 * join()  【线程之间同步】
 * 作用：允许在一个线程上等待另外一个线程执行完毕，在执行自己
 * 用法：线程名.join()，用在另外一个线程
 *
 * 线程同步：执行线程先后顺序
 * 线程异步：执行线程没有顺序，各自完成各自线程功能！
 *
 * 模拟：下载图片[1%~100%下载进度]，显示图片功能【先下载，在查看】
 *      线程  download   功能：下载进度条1% -- 100%    100毫秒
 *      线程  show       功能：显示图片
 */
public class Thread_join {
    public static void main(String[] args) {
    Thread download=new Thread(()->{
        for (int i=0;i<=100;i++){
            System.out.println("下载"+i+"%");
            try {
                Thread.sleep(100);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    });
    download.start();
    //显示线程
    Thread show=new Thread(()->{
        try {
            download.join();//下载完毕之后，调显示的线程
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("图片下载成功显示图片");
    });
    show.start();
}
}